package vendedor;

import java.util.Date;
import java.util.List;

import persistencia.DAOException;
import persistencia.DAOFactory;
import persistencia.RNException;

public class VendedorRN {

	private VendedorDAO vendedorDAO = DAOFactory.getVendedorDAO();
	private VendedorDAOHibernate vendedorDAOHibernate = new VendedorDAOHibernate();

	public void salvar(Vendedor vendedor) throws RNException {
		try {
			vendedorDAO.getSession().beginTransaction();
			vendedor.setDataAtualizacao(new Date());
			vendedor.setDataCadastro(new Date());
			vendedorDAO.save(vendedor);
			vendedorDAO.getSession().getTransaction().commit();
		} catch (DAOException e) {
			e.printStackTrace();
			throw new RNException();
		}
	}

	public List<Vendedor> listar() throws RNException {

		try {
			return vendedorDAO.findAll();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new RNException();
		}
	}

	public Vendedor buscaPorCpfCnpj(String cpfCnpj) {
		return vendedorDAOHibernate.buscaPorCpfCnpj(cpfCnpj);
	}
	
	public void deletar(Vendedor vendedor)throws RNException{
		try {
			vendedorDAO.getSession().beginTransaction();
			vendedorDAO.delete(vendedor);
			vendedorDAO.getSession().getTransaction().commit(); 
			
		} catch (DAOException e) {
			e.printStackTrace();
			throw new RNException(); 
		}
	}
	public Vendedor buscaPorId(int id){
		return vendedorDAOHibernate.buscarPorId(id);
	}

}
